﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using NCS.Library.Components.Security;
using NCS.Module.UngDung.Library.Controler;
using NCS.Library.Utilities;
using CommonUtil;
using NCS.Library;
using NCS.Module.UngDung.Library.UngDung;

namespace NCS.Module.UngDung.Admin.UserControls
{
    public partial class Public : AuthenticatedControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                FillFilter();
            }
        }

        private void FillFilter()
        {
            try
            {
                ddlFilter.Items.Clear();
                ddlFilter.Items.Add(new ListItem(Constants.CMS_CHUAXUATBANDES, Constants.CMS_CHUAXUATBAN.ToString()));
                ddlFilter.Items.Add(new ListItem(Constants.CMS_DAXUATBANDES, Constants.CMS_DAXUATBAN.ToString()));
            }
            catch (Exception ex)
            {
                MessageBox.Show("Có lỗi " + ex.Message + " \n Liên hệ với quản trị hệ thống để được trợ giúp.");
            }
        }

        protected override void OnPreRender(EventArgs e)
        {
            Show_GridView();
        }

        private void Show_GridView()
        {
            try
            {
                DataTable tbl = null;
                try
                {
                    tbl = UngDungControler.GetAllUngDungFilter(Convert.ToInt32(ddlFilter.SelectedValue.ToString()));
                }
                catch
                { }
                if (tbl != null && tbl.Rows.Count > 0)
                {
                    grid.DataSource = tbl;
                    Style_Gridview(grid, Convert.ToInt32(tbl.Rows.Count.ToString()));
                    grid.DataBind();
                }
                else
                {
                    grid.DataSource = null;
                    grid.DataBind();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Có lỗi " + ex.Message + " \n Liên hệ với quản trị hệ thống để được trợ giúp.");
            }
        }

        protected void grid_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                DataRowView curData = (DataRowView)e.Row.DataItem;
                e.Row.Cells[1].Text = Convert.ToString(e.Row.DataItemIndex + 1);

                Button btnPublic = (Button)e.Row.FindControl("btnPublic");
                Button btnUnPublic = (Button)e.Row.FindControl("btnUnPublic");
                btnUnPublic.Attributes.Add("onclick", MiscUtility.MSG_DELETE_CONFIRM);

                Literal ltrTrangThai = (Literal)e.Row.FindControl("ltrTrangThai");
                if (ltrTrangThai.Text.ToLower() == "false")
                {
                    btnPublic.Visible = true;
                    btnUnPublic.Visible = false;
                    ltrTrangThai.Text = Constants.CMS_CHUAXUATBANDES;
                }
                else if (ltrTrangThai.Text.ToLower() == "true")
                {
                    btnPublic.Visible = false;
                    btnUnPublic.Visible = true;
                    ltrTrangThai.Text = Constants.CMS_DAXUATBANDES;
                }

                Literal ltrID = (Literal)e.Row.FindControl("ltrID");
                Literal ltrTenUngDung = (Literal)e.Row.FindControl("ltrTenUngDung");
                ltrTenUngDung.Text = "<a href=\"" + AppEnv.AdminUrlParams("qt_ViewDetailUD") + "&contentid=" + ltrID.Text + " \">" + ltrTenUngDung.Text + "</a>";

                Literal ltrCapCha = (Literal)e.Row.FindControl("ltrCapCha");
                UngDungInfo objUngDung = UngDungControler.GetInfo(int.Parse(ltrCapCha.Text));
                if (objUngDung != null)
                {
                    ltrCapCha.Text = objUngDung.TenUngDung;
                }
                else
                {
                    ltrCapCha.Text = "";
                }
            }
        }

        protected void grid_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "public")
            {
                try
                {
                    int iReturn = 0;
                    iReturn = UngDungControler.SetStatus(Convert.ToInt32(e.CommandArgument), true);
                    if (iReturn > 0)
                    {
                        Show_GridView();
                        MessageBox.Show(MiscUtility.MSG_UPDATE_SUCCESS);
                    }
                    else
                    {
                        MessageBox.Show(MiscUtility.MSG_UPDATE_ERROR);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Có lỗi " + ex.Message + " \n Liên hệ với quản trị hệ thống để được trợ giúp.");
                }
            }
            else if (e.CommandName == "unpublic")
            {
                try
                {
                    int iReturn = 0;
                    iReturn = UngDungControler.SetStatus(Convert.ToInt32(e.CommandArgument), false);
                    if (iReturn > 0)
                    {
                        Show_GridView();
                        MessageBox.Show(MiscUtility.MSG_UPDATE_SUCCESS);
                    }
                    else
                    {
                        MessageBox.Show(MiscUtility.MSG_UPDATE_ERROR);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Có lỗi " + ex.Message + " \n Liên hệ với quản trị hệ thống để được trợ giúp.");
                }
            }
        }

        protected void grid_OnPageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            grid.PageIndex = e.NewPageIndex;
            Show_GridView();
        }

        void Style_Gridview(GridView grv, int _TotalRecord)
        {
            grid.PagerSettings.Position = PagerPosition.Bottom; // vi tri duoi
            grid.PagerSettings.PageButtonCount = 10; // hien thi 2 so
            int iRecord = 7;
            grid.PageSize = 20;

            if (_TotalRecord > iRecord * 2)
            {
                grid.AllowPaging = true;
            }
            else
            {
                grid.AllowPaging = false;
            }
        }

        protected void ddlFilter_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                if (grid != null && grid.Rows.Count > 0)
                {
                    grid.DataSource = null;
                    grid.DataBind();
                }
                DataTable tbl = null;
                try
                {
                    tbl = UngDungControler.GetAllUngDungFilter(Convert.ToInt32(ddlFilter.SelectedValue.ToString()));
                }
                catch
                { }
                if (tbl != null && tbl.Rows.Count > 0)
                {
                    grid.DataSource = tbl;
                    Style_Gridview(grid, Convert.ToInt32(tbl.Rows.Count.ToString()));
                    grid.DataBind();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Có lỗi " + ex.Message + " \n Liên hệ với quản trị hệ thống để được trợ giúp.");
            }
        }
    }
}